home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 April: Mac OS SDK / Dev.CD Apr 96 SDK / Dev.CD Apr 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc Development Framework / DU Folder / DU Selection FW / Includes / DUSelectable.h < prev   
Encoding:
Text File  |  1995-11-29  |  1.2 KB  |  39 lines  |  [TEXT/MPS ]

  1. //    Copyright © 1995 Apple Computer, Inc. All rights reserved.
  2. //    Release Version:    $ 1.0 d11 $
  3.  
  4. #ifndef DUSELECTABLE_H
  5. #define DUSELECTABLE_H
  6.  
  7. //==========================================================================
  8. class FW_CWritableStream;
  9. class FW_CReadableStream;
  10. class FW_CRect;
  11.  
  12. //==========================================================================
  13. class FW_CLASS_ATTR DU_MSelectable {
  14. public:
  15.     FW_DECLARE_CLASS
  16. public:
  17.                             DU_MSelectable(const FW_CRect& bounds);
  18.     virtual                    ~DU_MSelectable();
  19.     // drawing
  20.     virtual void            Draw(FW_CGraphicContext& gc);
  21.     virtual void            DrawSelectionFeedback(FW_CGraphicContext& gc);
  22.     // selection
  23.     virtual void            Select(FW_Boolean newState);
  24.     virtual FW_Boolean        IsSelected();
  25.     virtual FW_CRect        GetBounds();
  26.     virtual FW_Boolean        Hit(Environment *ev, const FW_CPoint& pt);
  27.     // storage
  28.     virtual void             Flatten(FW_CWritableStream& stream);
  29.     static    void            Write(FW_CWritableStream& stream, const void* objectRep);
  30.     static void*            Read(FW_CReadableStream& stream);    
  31. protected:
  32.                             DU_MSelectable(FW_CReadableStream& stream);
  33. private:
  34.     FW_CRect                fBounds;
  35.     FW_Boolean                fSelected;
  36. };
  37.  
  38. //==========================================================================
  39. #endif